home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / man / cmds / jaquith.man < prev    next >
Encoding:
Text File  |  1992-08-25  |  11.2 KB  |  363 lines

  1. '\"
  2. '\" Copyright 1992 Regents of the University of California
  3. '\" Permission to use, copy, modify, and distribute this
  4. '\" documentation for any purpose and without fee is hereby
  5. '\" granted, provided that this notice appears in all copies.
  6. '\" The University of California makes no representations about
  7. '\" the suitability of this material for any purpose.  It is
  8. '\" provided "as is" without express or implied warranty.
  9. '\" 
  10. '\" $Header: /user5/mottsmth/j/j/jaquith.man,v 1.8 92/05/07 09:02:14 mottsmth Exp $ SPRITE (Berkeley)
  11. '\" 
  12. .\" The definitions below are for supplemental macros used in Sprite
  13. .\" manual entries.
  14. .\"
  15. .\" .HS name section [date [version]]
  16. .\"    Replacement for .TH in other man pages.  See below for valid
  17. .\"    section names.
  18. .\"
  19. .\" .AP type name in/out [indent]
  20. .\"    Start paragraph describing an argument to a library procedure.
  21. .\"    type is type of argument (int, etc.), in/out is either "in", "out",
  22. .\"    or "in/out" to describe whether procedure reads or modifies arg,
  23. .\"    and indent is equivalent to second arg of .IP (shouldn't ever be
  24. .\"    needed;  use .AS below instead)
  25. .\"
  26. .\" .AS [type [name]]
  27. .\"    Give maximum sizes of arguments for setting tab stops.  Type and
  28. .\"    name are examples of largest possible arguments that will be passed
  29. .\"    to .AP later.  If args are omitted, default tab stops are used.
  30. .\"
  31. .\" .BS
  32. .\"    Start box enclosure.  From here until next .BE, everything will be
  33. .\"    enclosed in one large box.
  34. .\"
  35. .\" .BE
  36. .\"    End of box enclosure.
  37. .\"
  38. .\" .VS
  39. .\"    Begin vertical sidebar, for use in marking newly-changed parts
  40. .\"    of man pages.
  41. .\"
  42. .\" .VE
  43. .\"    End of vertical sidebar.
  44. .\"
  45. .\" .DS
  46. .\"    Begin an indented unfilled display.
  47. .\"
  48. .\" .DE
  49. .\"    End of indented unfilled display.
  50. .\"
  51. '\"    # Heading for Sprite man pages
  52. .de HS
  53. .if '\\$2'cmds'       .TH \\$1 1 \\$3 \\$4
  54. .if '\\$2'lib'        .TH \\$1 3 \\$3 \\$4
  55. .if '\\$2'tcl'        .TH \\$1 3 \\$3 \\$4
  56. .if '\\$2'tk'         .TH \\$1 3 \\$3 \\$4
  57. .if t .wh -1.3i ^B
  58. .nr ^l \\n(.l
  59. .ad b
  60. ..
  61. '\"    # Start an argument description
  62. .de AP
  63. .ie !"\\$4"" .TP \\$4
  64. .el \{\
  65. .   ie !"\\$2"" .TP \\n()Cu
  66. .   el          .TP 15
  67. .\}
  68. .ie !"\\$3"" \{\
  69. .ta \\n()Au \\n()Bu
  70. \&\\$1    \\fI\\$2\\fP    (\\$3)
  71. .\".b
  72. .\}
  73. .el \{\
  74. .br
  75. .ie !"\\$2"" \{\
  76. \&\\$1    \\fI\\$2\\fP
  77. .\}
  78. .el \{\
  79. \&\\fI\\$1\\fP
  80. .\}
  81. .\}
  82. ..
  83. '\"    # define tabbing values for .AP
  84. .de AS
  85. .nr )A 10n
  86. .if !"\\$1"" .nr )A \\w'\\$1'u+3n
  87. .nr )B \\n()Au+15n
  88. .\"
  89. .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
  90. .nr )C \\n()Bu+\\w'(in/out)'u+2n
  91. ..
  92. '\"    # BS - start boxed text
  93. '\"    # ^y = starting y location
  94. '\"    # ^b = 1
  95. .de BS
  96. .br
  97. .mk ^y
  98. .nr ^b 1u
  99. .if n .nf
  100. .if n .ti 0
  101. .if n \l'\\n(.lu\(ul'
  102. .if n .fi
  103. ..
  104. '\"    # BE - end boxed text (draw box now)
  105. .de BE
  106. .nf
  107. .ti 0
  108. .mk ^t
  109. .ie n \l'\\n(^lu\(ul'
  110. .el \{\
  111. .\"    Draw four-sided box normally, but don't draw top of
  112. .\"    box if the box started on an earlier page.
  113. .ie !\\n(^b-1 \{\
  114. \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  115. .\}
  116. .el \}\
  117. \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
  118. .\}
  119. .\}
  120. .fi
  121. .br
  122. .nr ^b 0
  123. ..
  124. '\"    # VS - start vertical sidebar
  125. '\"    # ^Y = starting y location
  126. '\"    # ^v = 1 (for troff;  for nroff this doesn't matter)
  127. .de VS
  128. .mk ^Y
  129. .ie n 'mc \s12\(br\s0
  130. .el .nr ^v 1u
  131. ..
  132. '\"    # VE - end of vertical sidebar
  133. .de VE
  134. .ie n 'mc
  135. .el \{\
  136. .ev 2
  137. .nf
  138. .ti 0
  139. .mk ^t
  140. \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
  141. .sp -1
  142. .fi
  143. .ev
  144. .\}
  145. .nr ^v 0
  146. ..
  147. '\"    # Special macro to handle page bottom:  finish off current
  148. '\"    # box/sidebar if in box/sidebar mode, then invoked standard
  149. '\"    # page bottom macro.
  150. .de ^B
  151. .ev 2
  152. 'ti 0
  153. 'nf
  154. .mk ^t
  155. .if \\n(^b \{\
  156. .\"    Draw three-sided box if this is the box's first page,
  157. .\"    draw two sides but no top otherwise.
  158. .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  159. .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
  160. .\}
  161. .if \\n(^v \{\
  162. .nr ^x \\n(^tu+1v-\\n(^Yu
  163. \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
  164. .\}
  165. .bp
  166. 'fi
  167. .ev
  168. .if \\n(^b \{\
  169. .mk ^y
  170. .nr ^b 2
  171. .\}
  172. .if \\n(^v \{\
  173. .mk ^Y
  174. .\}
  175. ..
  176. '\"    # DS - begin display
  177. .de DS
  178. .RS
  179. .nf
  180. .sp
  181. ..
  182. '\"    # DE - end display
  183. .de DE
  184. .fi
  185. .RE
  186. .sp .5
  187. ..
  188. .HS JAQUITH cmds
  189. .BS
  190. '\" Note:  do not modify the .SH NAME line immediately below!
  191. .SH NAME
  192. jaquith \- Tertiary storage manager
  193. .SH SYNOPSIS
  194. \fBjaquith\fR  [\fB\-port \fIport\fR]
  195. [\fB\-logfile \fIlogfile\fR] [\fB\-logdetail \fIlevel\fR]
  196. [\fB\-root \fIrootname\fR] [\fB-putexec \fIfilename\fR]
  197. .br
  198. [\fB-getexec \fIfilename\fR] 
  199. [\fB-cleanexec \fIfilename\fR]
  200. [\fB-diskhigh \fIpercent\fR] [\fB-disklow \fIpercent\fR]
  201. [\fB-netmask \fImask\fR]
  202. .br
  203. [\fB-fsyncfreq \fIcount\fR] [\fB-childdbg] 
  204. .SH OPTIONS
  205. .IP "\fB\-port \fIport\fR" 14
  206. Port number where jaquith should listen for new connections.
  207. Defaults to 10001 (decimal).
  208. .IP "\fB\-logfile \fIlogfile\fR" 14
  209. Enable activity logging to specified file
  210. .IP "\fB\-logdetail \fIdetail\fR" 14
  211. Amount of logging information. There are four levels,
  212. with high levels including the lower ones.
  213. 0x0 == None. 0x01 = errors. 0x02 = major events.
  214. 0x04 = minor events. 0x08 = code tracing.
  215. .IP "\fB\-root \fIrootname\fR" 14
  216. Root of index tree
  217. .IP "\fB\-putexec \fIfilename\fR" 14
  218. Path to Jaquith update program. Defaults to /usr/bin/jupdate.
  219. .IP "\fB\-getexec \fIfilename\fR" 14
  220. Path to Jaquith retrieval program. Defaults to /usr/bin/jfetch.
  221. .IP "\fB\-cleanexec \fIfilename\fR" 14
  222. Path to Jaquith cleaner program. Defaults to /usr/bin/jclean.
  223. .IP "\fB\-diskhigh \fIpercent\fR" 14
  224. Disk threshold at which cleaner will be invoked to free disk
  225. space by copying data buffers to tape.
  226. .IP "\fB\-disklow \fIpercent\fR" 14
  227. Disk threshold at which cleaner will stop trying to free
  228. disk space by copying data buffers to tape.
  229. .IP "\fB\-netmask \fImask\fR" 14
  230. Refuse service to clients whose internet address doesn't match
  231. \fImask\fR. The mask is specified in the form "128.32.1.2".
  232. A "*" can be substituted for a number to accept all values in
  233. that position.
  234. .IP "\fB\-fsyncfreq \fIcount\fR" 14
  235. For jput operations, force an fsync every \fIcount\fR files.
  236. Default is 10.
  237. .IP "\fB\-childdbg\fR" 14
  238. Invoke update and retrieval processes with -debug flag.
  239. .BE
  240. .SH DESCRIPTION
  241. .PP
  242. The \fBJaquith\fP system is a tertiary storage manager which
  243. provides storage, indexing and retrieval services to network clients.
  244.  
  245. .PP
  246. This man page describes \fBJaquith\fR, the main server. The other parts
  247. of the system include:
  248.  
  249. .DS
  250. jmgr   -- the jukebox manager
  251. jclean -- the archive cleaner
  252. jput, jget, jls, jstat -- Client utilities
  253. jupdate, jfetch, jquery -- Jaquith servant processes
  254. jcopy, jctrl, jbuild -- System administration utilities
  255. .DE
  256.  
  257. The jaquith process is the primary server for the Jaquith archive
  258. system.  It listens on a public port for incoming client requests
  259. and spawns child processes to handle those requests. The port is
  260. specified with the \fB-port\fR option. Each \fBjput\fR
  261. request spawns a \fIwriter\fR as specified with the \fB-putexec\fR
  262. option. Similarly, each \fBjget\fR or \fRjls\fR request spawns a
  263. \fIreader\fR. \fBjstat\fR requests spawn \fIquery\fR processes.
  264.  
  265. .PP
  266. Jaquith also spawns a \fIcleaner\fR process which writes data
  267. from disk to tertiary storage, as necessary. The cleaner is specified
  268. with the \fB-cleanexec\fR option, and the threshold which controls
  269. its invocation is specified with the \fR-disklow\fR and \fB-diskhigh\fR
  270. options. \fBDiskHigh\fR gives the level of disk use, in percent, 
  271. when the cleaner should be invoked. The cleaner will clean the
  272. disk down to the low water mark, \fB-disklow\fR.
  273.  
  274. .PP
  275. Jaquith assumes the presence of the jukebox manager, a process
  276. which mediates access to the physical jukebox. See jmgr for details.
  277.  
  278. .PP
  279. To install Jaquith initially, create a directory to act as the 
  280. Jaquith root, typically /jaquith. It's easiest if DEF_ROOT 
  281. (in jaquith.h) is set to this name and all the programs are recompiled.
  282. Then create volconfig and devconfig files for jmgr. Start jaquith
  283. and jmgr and you're set.
  284.  
  285. .PP
  286. To grant access to Jaquith to a new user, create a new logical
  287. archive, if desired, by creating a subdirectory in the Jaquith root
  288. called \fIarchName\fB.arch\fR.  In this subdirectory, create the
  289. \fBauth\fR file, as described in the RELATED FILES section, or
  290. just add the user to the existing authorization file.
  291.  
  292. .SH RELATED FILES
  293. .PP
  294. Jaquith maintains a number of files describing the state of
  295. the physical and logical archive. All of these files reside
  296. in the Jaquith root (usually /arch but settable with the -root
  297. flag).
  298. .IP "\fBfreevols\fR" 14
  299. The global pool of available volumes.  These will be consumed as
  300. needed by the cleaner process. Format of an entry is just the volume ID.
  301. .IP "\fBdevconfig\fR" 14
  302. The list of device names to be controlled by the jukebox manager.
  303. Format is device name followed by its slot in the jukebox.
  304. .IP "\fBvolconfig\fR" 14
  305. The list of volumes and their slot locations in the jukebox. Format
  306. is the volume name followed by its slot in the jukebox.
  307. .IP "\fBtbuf.lru\fR" 14
  308. The global least-recently-used buffer list. Buffers at the top
  309. of the list are prime candidates for removal if disk space is tight.
  310. Format is logical archive name followed by tbuf number.
  311. .IP "\fBrebuild.\fIpid\fR" 14
  312. Temporary work file created by \fBjbuild\fR.
  313. .IP "\fBthdr.\fIpid.num\fR" 14
  314. Emergency work file created by \fBjbuild\fR
  315. when it can't parse the thdr file it got from tape.
  316. .IP "\fIarchive\fB/config\fR" 14
  317. Archive configuration information. Format is jmgr server
  318. name and port number followed by desired buffer size.
  319. .IP "\fIarchive\fB/tbuf\fR" 14
  320. Current buffer number. I.E. current buffer is \fBtbuf.\fInum\fR.
  321. .IP "\fIarchive\fB/tbuf.\fInum\fR" 14
  322. Tape buffer files. These files contain user file data in Posix tar format.
  323. .IP "\fIarchive\fB/thdr.\fInum\fR" 14
  324. Tape header files. These files contain the indexing information
  325. in case the disk index structure is destroyed.
  326. .IP "\fIarchive\fB/meta.\fInum\fR" 14
  327. Meta information about tbuf.\fInum\fR maintained while buffer is being built
  328. in case of crash.
  329. .IP "\fIarchive\fB/log\fR" 14
  330. The list of operations which have been requested on this logical archive.
  331. .IP "\fIarchive\fB/filemap\fR" 14
  332. The list of volumes assigned to this archive along with the
  333. starting buffer number on the volume and the date the volume was assigned.
  334. .IP "\fIarchive\fB/auth\fR" 14
  335. The authorization information for the logical archive. The file
  336. consists of single-line entries in no particular order. Each
  337. entry has the form \fIusername groupname hostname permission\fR.
  338. \fIusername\fR, \fIgroupname\fR, and \fIhostname\fR are globbing
  339. expressions.  \fIPermission\fR is \fBR\fR, \fBW\fR, or \fBO\fR for read,
  340. read-and-write or ownership respectively.
  341. Ownership means that the specified user or group has 'root' access
  342. to this logical archive. Client requests are validated by first
  343. looking for an entry with a corresponding user name. If none is
  344. found then an entry with a matching group name is used, else
  345. permission is denied.
  346. .IP "\fIarchive\fB/volinfo\fR" 14
  347. Physical volume information for this logical archive.
  348. Entries are: current volume id, next location on volume where
  349. buffer is to be written, remaining space in KB on volume, last
  350. buffer number written, current buffer number.
  351. .IP "\fIarchive\fB/tbufinfo\fR" 14
  352. Current buffer information for this logical archive. Entries are:
  353. buffer size in bytes, buffer header size in bytes, number of user
  354. files in buffer.
  355. .SH BUGS
  356. None. Jaquith is perfection personified.
  357.  
  358. .SH "SEE ALSO"
  359. jmgr jls jstat jput jget jctrl jcopy jclean jbuild
  360.  
  361. .SH KEYWORDS
  362. jaquith archive
  363.